Experiences with Object Group Systems: GARF, Bast and OGS
نویسندگان
چکیده
For a couple of decades now, many projects have been devoted to the design and implementation of object based concurrent and distributed systems, mainly focusing on building support for object based concurrency control, remote object invocation and object migration [5]. Very few however have been devoted to building support for replication and object groups. This is actually not surprising as most object based distributed systems have been experimented on academic applications for which fault-tolerance is rarely a mandatory feature. This situation has recently changed when distributed objects became the cornerstone of industrial standards such as CORBA and DCOM. Applications in various areas are being developed or ported on object based distributed systems, including those with strong requirements for continuous availability such as air traffic control, telecommunication, medical and financial systems. By encapsulating a set of entities that cooperate to achieve some common goal, the group abstraction has proven to be very convenient for distributed programming, particularly for achieving continuous availability (fault-tolerance) through replication. Although the group abstraction is intuitive, the underlying techniques required to implement group communication and group membership pose difficult problems. Furthermore, providing the group abstraction at the application level is far from being trivial. In short, process group toolkits (e.g., Isis) provides the abstraction of group at the process level, whereas programmers typically compose applications at the ”object” level. Most of the papers dedicated to object groups mainly describe specific techniques to integrate object group supports in particular systems, e.g., Psync [37], Amoeba [46], Emerald [7], Arjuna [34], and CORBA [35, 11, 1]. The motivations and limitations of various design and implementation choices are however rarely discussed.
منابع مشابه
Experiences with object group systems
The GARF, Bast, and OGS systems represent the resulting efforts of a multi-year ‘object group’ program at the Swiss Federal Institute of Technology in Lausanne. The intent of the program was to understand the extent to which one could build flexible and performance system supports to encapsulate object plurality. That is, we experimented with various ways to build libraries and services to supp...
متن کاملImplementation of the GARF replicated objects platform
This paper presents the design and implementation of the GARF system, an object-oriented platform that helps programming fault-tolerant distributed applications in a modular way. The originality of GARF is to separate a distributed object into several objects, the complexity of distribution and fault-tolerance being encapsulated in reusable classes. The use of those classes by the GARF system i...
متن کاملImplementation of the GARF
This paper presents the design and implementation of the GARF system, an object-oriented platform that helps programming fault-tolerant distributed applications in a modular way. The originality of GARF is to separate a distributed object into several objects, the complexity of distribution and fault-tolerance being encapsulated in reusable classes. The use of those classes by the GARF system i...
متن کاملGarf: a tool for programming reliable distributed applications
GARF is an object-oriented tool that supports the design and programming of reliable distributed applications. GARF lies at an intermediate level between applications and process group communication systems. It enables a developer to rst program an application in a centralized environment, then to distribute it and increase its reliability by replicating its critical components over several mac...
متن کاملThe Corba Object Group Service: a Service Approach to Object Groups in Corba
Distributed computing is one of the major trends in the computer industry. As systems become more distributed, they also become more complex and have to deal with new kinds of problems, such as partial crashes and link failures. To answer the growing demand in distributed technologies, several middleware environments have emerged during the last few years. These environments however lack suppor...
متن کامل